The present invention relates to video recorder and playback systems, and more particularly to controlling the presentation of content.
Television (TV) content distribution is quickly migrating from analog formats to compressed digital formats. Currently, distribution of digital video content for TV display is dominated by use of the MPEG-2 video compression standard (ISO/IEC 13818-2). MPEG-2 and its predecessor MPEG-1 define the standards to compress video content using a combination of various techniques. An MPEG-encoded stream may have three types of pictures, Intra-coded (I), Predicted (P) and Bi-directionally predicted (B). I-pictures are not compressed using any temporal predictions and can be decoded without the need of any other picture. The P-pictures perform temporal predictions from a picture that comes before it in the display order. Thus, decode of a P-pictures requires one picture (from the past) to be available with the decoder for performing temporal predictions. This prediction picture may be either an I-picture or another P-picture. The B-pictures are bi-directionally predicted and, hence, use two pictures for prediction, one from the past and another from the future (in display order).
During normal decode of MPEG streams, video decoders store the last two decompressed I/P pictures in memory. The last I/P picture is used for predicting an incoming P-picture and the last two I/P pictures are used for predicting an incoming B-picture. During a Rewind operation, the pictures have to be displayed in the reverse order. The video stream is itself fed to the decoder through a system that first recorded the stream on a recordable media such as a hard-disk. A Rewind operation is complex because B-pictures cannot be decoded from the previously decoded pictures in the rewind order. Rather, the last two prediction pictures in the forward decode order are needed by the decoder in order to decode a B-picture.
The foregoing can be accomplished by decoding pictures in the forward picture order starting from the last I-picture before the B-picture in the forward decoding order. The I-picture is used as a reference picture since I-pictures do not require any other picture to be decoded. Further, the intervening pictures between the reference picture and the current picture only need to be decoded but not displayed.
However, a special class of MPEG-2 streams, known as Headend In The Sky (HITS) streams, do not include I-pictures, in order to increase the video compression and reduce the bandwidth required to transmit a video stream. Instead, HITS streams use a progressive refresh mechanism to build reference pictures. The progressive refresh mechanism of HITS mandates that each P-picture have at least one intra-coded slice(s), where a slice is 16 horizontal lines of pictures. Furthermore, the intra-coded slice(s) in a P-picture will be just below the intra-coded slice(s) of the previous P-picture. The top slice is intra-coded for a P-picture following a P-picture with an intra-coded slice at the bottom of the picture. The number of intra-coded slices in a P-picture is called the “refresh-rate” of the stream. The streams also ensure that the slices above the intra-coded slice(s) will predict only from those slices of the previous P-picture. The streams also ensure that the slices above the intra-coded slice(s) will predict only from those slices of the previous P-picture that are above the current intra-coded slices. Thus, the slices are progressively refreshed from top to bottom. This scheme ensures that if a series of pictures is decoded starting from a P-picture whose first-slice is intra-coded, then a “clean” refreshed picture will be built after all slices have been progressively refreshed. The picture whose first-slice is intra-coded is called an Entry Point (EP) picture. Typical values of slice refresh rates are 1 and 3 for a stream with a vertical sized of 480 pixels (30 slices, each of 16-lines). Thus, a clean picture may be built by decoding 30 P-pictures when the refresh rate is 1, and 10 P-pictures when the refresh rate is 3.
To perform a Rewind operation on a HITS stream, a video decoder first builds a clean reference using the progressive refresh mechanism, and decodes the intervening pictures between the clean reference and the current picture in the rewind sequence.
The performance of existing video decoders is poor during rewind for HITS streams for several reasons. For a set of pictures between two EP-pictures, the performance is the worst for the last picture since the last picture is displayed first. To display the first picture, a reference picture has to be built and the remaining pictures in the set need to be decoded. Additionally, the number of EP pictures in the HITS stream is fewer as compared to the number of I-pictures in a typical MPEG stream. Therefore, a decoder decodes more pictures to get to the last few pictures of the set. As an example, if the refresh rate of the stream is 1, then 30 pictures need to be decoded to build the clean reference picture. Another 30 pictures need to be decoded to display the last picture in the following EP-EP segment, resulting in a total of 60 pictures that need to be decoded.
If the decoder is not fast enough to be able to decode multiple pictures in a given picture-display timeframe, the visual quality suffers since the decoder will lag behind the display process.
Further limitations and disadvantages of conventional and traditional systems will become apparent to one of skill in the art through comparison of such systems with the invention as set forth in the remainder of the present application with reference to the drawings.